package cn.newgrand.test;

   
 import java.io.*;   
 //导入dom4j API类   
 import org.dom4j.Document;   
 import org.dom4j.DocumentHelper;   
 import org.dom4j.Element;   
 import org.dom4j.io.XMLWriter;   
   
 public class XmlDom4J{   
     public void generateDocument(){   
         //使用 DocumentHelper 类创建一个文档实例   
         //DocumentHelper 是生成 XML 文档节点的 dom4j API 工厂类   
         Document document = DocumentHelper.createDocument();   
            
         //使用 addElement() 方法创建根元素 catalog   
         //addElement() 用于向 XML 文档中增加元素   
         Element catalogElement = document.addElement("catalog");   
            
         // 在 catalog 元素中使用 addComment() 方法添加注释"An XML catalog"   
         catalogElement.addComment("An XML Catalog");   
            
         // 在 catalog 元素中使用 addProcessingInstruction() 方法增加一个处理指令   
         catalogElement.addProcessingInstruction("target","text");   
            
         // 在 catalog 元素中使用 addElement() 方法增加 journal 元素   
         Element journalElement = catalogElement.addElement("journal");   
            
         //使用 addAttribute() 方法向 journal 元素添加 title 和 publisher 属性   
         journalElement.addAttribute("title", "XML Zone");   
         journalElement.addAttribute("publisher", "IBM developerWorks");   
           
         // 向 article 元素中添加 journal 元素   
         Element articleElement=journalElement.addElement("article");   
           
         // 为 article 元素增加 level 和 date 属性   
       articleElement.addAttribute("level", "Intermediate");   
        articleElement.addAttribute("date", "December-2001");   
           
         // 向 article 元素中增加 title 元素   
        Element titleElement=articleElement.addElement("title");   
           
         //使用 setText() 方法设置 article 元素的文本   
        titleElement.setText("Java configuration with XML Schema");   
            
        // 在 article 元素中增加 author 元素   
        Element authorElement=articleElement.addElement("author");   
            
       // 在 author 元素中增加 firstname 元素并设置该元素的文本   
         Element firstNameElement=authorElement.addElement("firstname");   
        firstNameElement.setText("Marcello");   
           
        // 在 author 元素中增加 lastname 元素并设置该元素的文本   
        Element lastNameElement=authorElement.addElement("lastname");   
         lastNameElement.setText("Vitaletti");   
         //可以使用 addDocType() 方法添加文档类型说明   
        //document.addDocType("catalog",null,"catalog.dtd");   
           
        try{   
            XMLWriter output = new XMLWriter(   
            new FileWriter(new File("D:\\catalog.xml")));   
           output.write(document);   
            output.close();   
        }   
         catch(IOException e){   
             System.out.println(e.getMessage());   
        }   
    }   
   
    public static void main(String[] argv){   
        XmlDom4J dom4j=new XmlDom4J();   
        dom4j.generateDocument();   
 }
 }

